#1.匿名函数的应用
'''L=[('Bob',75),('Adam',92),('Bart',66),('Lisa',88),('Sophia',96),('Andy',83)]
sorted_L=sorted(L,key=lambda x:x[1],reverse=True)
print(sorted_L)'''

#2.模块的定义与应用
'''import random

#模拟random.randict，返回[a,b]范围内的随机整数
def my_randint(a,b):
    return random.randint(a,b)

#模拟random.random,返回一个[0.0,1.0)范围内的随机浮点数
def my_random():
    return random.random()

#模拟random.choice，从非空序列seq中随机选择一个元素
def my_choice(seq):
    return random.choice(seq)

#使用
#使用my_randint生成一个随机整数
random_int=my_randint(1,10)
print(f"随机整数：{random_int}")

#使用my_random生成一个随机浮点数
random_float=my_random()
print(f"随机浮点数：{random_float}")

#使用my_choice从列表中随机选择一个元素
my_list=['apple','banana','cherry']
random_choice=my_choice(my_list)
print(f"随机选择的元素：{random_choice}")'''


#3.函数的定义与应用
class ContactBook:  
    def __init__(self):  
        self.contacts = {}  
  
    def add_card(self, name, phone, email):  
        """添加联系人信息到通讯录"""  
        if name in self.contacts:  
            print(f"联系人 {name} 已存在，请更新或选择其他名称。")  
            return  
        self.contacts[name] = {'phone': phone, 'email': email}  
        print(f"联系人 {name} 已添加。")  
  
    def delete_card(self, name):  
        """从通讯录中删除联系人信息"""  
        if name not in self.contacts:  
            print(f"通讯录中不存在联系人 {name}。")  
            return  
        del self.contacts[name]  
        print(f"联系人 {name} 已删除。")  
  
    def find_card(self, name):  
        """查找并返回联系人信息"""  
        if name not in self.contacts:  
            print(f"通讯录中不存在联系人 {name}。")  
            return None  
        return self.contacts[name]  
  
    def update_card(self, name, new_phone=None, new_email=None):  
        """更新联系人信息"""  
        if name not in self.contacts:  
            print(f"通讯录中不存在联系人 {name}。")  
            return  
        contact = self.contacts[name]  
        if new_phone:  
            contact['phone'] = new_phone  
        if new_email:  
            contact['email'] = new_email  
        print(f"联系人 {name} 的信息已更新。")  
  
    def display_contacts(self):  
        """显示通讯录中的所有联系人信息"""  
        for name, info in self.contacts.items():  
            print(f"姓名: {name}, 电话: {info['phone']}, 邮箱: {info['email']}")  
  
# 主函数  
def main():  
    contact_book = ContactBook()  
  
    # 添加联系人  
    contact_book.add_card("Alice", "1234567890", "alice@example.com")  
    contact_book.add_card("Bob", "0987654321", "bob@example.com")  
  
    # 显示所有联系人  
    contact_book.display_contacts()  
  
    # 更新联系人信息  
    contact_book.update_card("Alice", new_phone="9876543210")  
  
    # 查找联系人  
    print(contact_book.find_card("Bob"))  
  
    # 删除联系人  
    contact_book.delete_card("Bob")  
  
    # 再次显示所有联系人  
    contact_book.display_contacts()  
  
if __name__ == "__main__":  
    main()

